package com.myx.design.single.realization;

/**
 * 描述: 单例模式-懒汉模式
 * @author: myx
 * @date: 2018/11/28
 * Copyright © 2018-hotpot. All rights reserved.
 */
public class UserSingleLazzy {
    //类初始化时，不会初始化该对象，真正需要使用的时候才会创建该对象。天生线程不安全，需要解决线程安全问题所以效率比较低
    private static UserSingleLazzy userSingleLazzy;
    private UserSingleLazzy(){
        System.out.println("构造函数私有化");
    }
    /**
     * 没有synchronized会出现线程安全问题，加上synchronized 效率变低
     */
    public synchronized static UserSingleLazzy getInstance(){
        if(userSingleLazzy==null){
            userSingleLazzy=new UserSingleLazzy();
        }
        return userSingleLazzy;
    }
    public static void main(String[] args) {
        //判断是否为同一对象
        System.out.println(UserSingleLazzy.getInstance()==UserSingleLazzy.getInstance());
    }
}
